1. Field of the Invention
The present invention relates generally to an improved data processing system, and in particular, to a computer implemented method for updating data processing system components. Still more particularly, the present invention relates to a computer implemented method, system, and computer usable program code for updating firmware without disrupting service.
2. Description of the Related Art
Data processing environments can be configured using a variety of data processing systems. Some data processing systems may themselves include several components such that a component is capable of operating as a data processing system on its own. For example, data processing systems can be divided into logical partitions (LPAR). A logical partition is also known simply as a partition, and as a node. Each node operates as a separate data processing system independent of the other nodes. Generally, a partition management firmware connects the various nodes and provides the network connectivity among the nodes. Hypervisor is an example of such partition management firmware.
Thus, a data processing environment may include data processing systems and network components. For example, a data processing environment may include commonly known server computers, desktop computers, and laptop computers, and bridges, routers, and switches. The data processing environment may also include data processing systems that may be configured to include one or more nodes. The data processing environment may interconnect these devices using a variety of data communication protocols in a wired or wireless manner.
A node may include a copy of an operating system. A node may execute software applications, alone or in conjunction with other nodes and data processing systems. A node may also include a set of computing resources that are available for that node's use, such as to execute the applications. A set of computing resources is one or more types of computing resources. A block of memory space is an example of a computing resource. A file in a file system is another example of a computing resource. Hard disk space, network bandwidth, one or more processors, processor cycles, and input/output (I/O) devices are some other examples of computing resources.
Firmware is a component that includes hardware and software as a unit. In some instances, firmware is “software” stored in a memory chip that holds its content without electrical power, such as, for example, read-only memory (ROM), programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), and nonvolatile random access memory (nonvolatile RAM). In a data processing system, such as a node, firmware provides hardware components and software applications the capability to access the data processing system hardware. A data processing system may include more than one firmware components.
Software of a firmware may be updated from time to time. Updates to the firmware in this manner may be used to correct faulty operation, add support for new or changed hardware components, add support for new hardware or software technologies, and many other purposes. Updating software in a firmware presently requires reboot of the data processing system. Rebooting is the process of restarting the hardware and the operating system of a data processing system. Rebooting a data processing system disrupts services being provided by the data processing system as the applications have to be shut down for the reboot and restarted upon completion of the rebooting process.